OLD GIT - https://git.gosuslugi.local/ervu/source/mz-xsd-storage/-/tree/master/mnsv-ervu-fns-registration
GIT (вынесено в отдельный репозиторий в рамках ) - https://git.gosuslugi.local/ervu/source/mz-mnsv-ervu-fns-registration
Описание
Сервис
для работы с ВС "ЕРВУ_Передача сведений о запрете на постановку на учет
в ФНС со специальным налоговым режимом и государственную регистрацию в
качестве ИП" для ФОИВ ФНС(urn://rostelekom.ru/ERVU-FNSRegistrationForbiddenTemporary/1.0.4).
Принимает JSON из процессов, преобразует в XML и направляет в кафку для
передачи в сервис mz-adapter и последующей отправки в ФОИВ через СМЭВ.
Сервис вынесен в отдельный репозиторий с использованием библиотеки mzServiceCore
Назначение
Сервис реализует передачу данных о введении или отмене временных мер, соответствующих ФОИВ ФНС:
- Запрет на государственную регистрацию физических лиц в качестве индивидуальных предпринимателей
- Запрет на постановку на учет в налоговом органе физического лица в качестве налогоплательщика, применяющего специальный налоговый режим "Налог на профессиональный доход"
JSON передаётся из процессов, преобразуется в XML сообщение по формату ВС https://lkuv.gosuslugi.ru/paip-portal/#/inquiries/card/a2802108-10e3-4bae-a47a-e4fee503e8fb
На текущий момент работает с версией ВС 1.0.4
Схема взаимодействия с ФОИВ ФНС по части введения и отмены временных мер
Примеры запроса
Инициатором сеанса выступает система ЕРВУ, передавая сообщение о введении или отмене временных мер через вид сведений urn://rostelekom.ru/ERVU-FNSRegistrationForbiddenTemporary (текущая
версия 1.0.4). Сеанс работает в формате рассылка (Тип обмена -
Целиковая маршрутизация рассылка), что подразумевает отсутствие ответа
от получателя рассылки (ФОИВ ФНС). Проверить состояние сообщения можно
только через функционал "Судьба сообщения СМЭВ3". Подтверждение от ФОИВ
приходит по отдельному виду сведений, работающему по формату "запрос -
ответ" (см. Описание сервиса подтверждения мер)
Структура запроса
| Поле в XML | Назначение поля | ФЛК | Кол-во вхождений | Комментарий |
|---|---|---|---|---|
| Поле в XML | Назначение поля | ФЛК | Кол-во вхождений | Комментарий |
| Начало блока common - общая информация о гражданине | ||||
| lastName | Передача фамилии гражданина | Строка | 1..1 | |
| firstName | Передача имени гражданина | Строка | 1..1 | |
| middleName | Передача отчества гражданина | Строка | 0..1 | |
| birthDate | Дата рождения гражданина | Дата в формате dd.mm.yyyy | 1..1 | |
| snils | Передача СНИЛС гражданина | Строка | 1..1 | СНИЛС передаётся без пробелов/дефисов |
| inn | Передача ИНН гражданина | 12 цифр | 0..1 | |
| idErn | Передача ИД ЕРН гражданина | 12 цифр | 1..1 | |
| Конец блока common - общая информация о гражданине | ||||
| Начало блока passport - сведения о ДУЛ гражданина | ||||
| series | Серия ДУЛ гражданина | 4 цифры | 1..1 | |
| number | Номер ДУЛ гражданина | 6 цифр | 1..1 | |
| issueDate | Дата выдачи ДУЛ гражданина | Дата в формате dd.mm.yyyy | 1..1 | |
| Конец блока passport - сведения о ДУЛ гражданина | ||||
| Начало блока measuresTemporary - сведения о временной мере | ||||
| measureId | Идентификатор временной меры | Строка | 1..1 | |
| status | Статус меры (действует/отменена) | boolean | ||
| number | Номер решения о введении меры | Строка | 1..1 | |
| date | Дата решения о введении меры | Дата в формате dd.mm.yyyy | 1..1 | |
| militaryCommissariatName | Наименование организации, принявшей решение о введении меры | Строка | 0..1 | |
| militaryCommissariatAddress | Юридический адрес организации, принявшей решение о введении меры | Строка | 0..1 | |
| measureCode | Код временной меры | Справочник (список значений правее) | 1..1 |
|
| measureName | Тип временной меры | Строка | 1..1 | |
| Начало блока additionalInfo - дополнительная информация | ||||
| name | Наименование атрибута | Строка | 1..1 | |
| value | Значение атрибута | Строка | 1..1 | |
| Конец блока additionalInfo - дополнительная информация | ||||
| Начало блока attachmentDetails - сведения о вложениях | ||||
| measuresTemporaryDoc | Решение о наложении временной меры | Блок | 1..N | Внутри блока лежит тег name - имя файла документа. Передаётся строкой |
| sig | Открепленная усиленная квалифицированная электронная подпись | Блок | 1..N | Внутри блока лежит тег name - имя файла документа. Передаётся строкой |
| Конец блока attachmentDetails - сведения о вложениях | ||||
Конец блока measuresTemporary - сведения о временной мере | ||||
Для введения и отмены мер со стороны ЕРВУ отправляется запрос через ВС [urn://rostelekom.ru/ERVU-FNSRegistrationForbiddenTemporary/1.0.4]
- Для введения меры в XML запроса поле status (полный путь measuresTemporaryData.measuresTemporary.status) принимает значение true
- Для отмены меры в XML запроса поле status (полный путь measuresTemporaryData.measuresTemporary.status) принимает значение false
Множественность блока measuresTemporary
Блок measuresTemporary может входить в XML более 1 раза, т.к. у ФОИВ МВД есть 2 временные меры, уходящие пакетом в одном XML сообщении
Временная мера | ФОИВ |
|---|---|
Временная мера | ФОИВ |
| Запрет на государственную регистрацию физических лиц в качестве индивидуальных предпринимателей | ФНС |
| Запрет на постановку на учет в налоговом органе физического лица в качестве налогоплательщика, применяющего специальный налоговый режим "Налог на профессиональный доход" | ФНС |
Пример сообщения рассылки в формате XML
Kafka
Consumer
- mz.in.request
- mz.out.response
- smev.status.handler
Producer
- pgs.proxy.endpoints.access.info
- mz.impl.info
- mz.impl.mock
- mz.scenario.info
- mz.out.request
- mz.in.response
- mz.in.json.response
- smev.status.handler
S3
Сервис имеет доступ к корзине mz-attachment с правами READ, WRITE
БД mz_ervu_restriction_info
В данной БД хранится информация о мерах, действующих и отменённых, по каждому из видов сведений (каждому ФОИВ)
Столбец | Дата тайп | NOT NULL | PK | Комментарий | Пример заполнения |
|---|---|---|---|---|---|
Столбец | Дата тайп | NOT NULL | PK | Комментарий | Пример заполнения |
| id | UUID | + | + | Идентификатор записи | 7492ff5e-9f0e-4d02-8e6d-a02b9e41a024 |
| request_id | UUID | + | Идентификатор запроса | 36aaa4f6-0995-43da-8162-1c87e6f9952b | |
| class | varchar(500) | Класс вида сведений | MeasuresTemporaryData@urn://rostelekom.ru/ERVU-FNSRegistrationForbiddenTemporary/1.0.4 | ||
| restriction_id | UUID | + | Идентификатор временной меры | 6ef19960-8bca-408d-a420-35b972871570 | |
| restriction_status | boolean | Статус временной меры | true | ||
| request_stamp | timestamp | + | Дата и время отправки запроса | 2024-07-12 21:52:26.562 | |
| received_smev_status | varchar(200) | Полученный статус от СМЭВ |
Сервис mz-mnsv-ervu-driving-registration-vehicle является владельцем данной таблицы (у него прописаны скрипты миграции на создание), однако пользуются этой таблицей все сервисы, отвечающие за временные меры
Проверка XML на валидность
В сервисе реализована проверка XML согласно XSD-схеме вида сведений. Флаг, отвечающий за функционал, лежит в конфиге сервиса по пути extra_options.validator.xml.enabled с значением true
В такой реализации некорректный JSON, поступающий из процессов и преобразованный в XML, проверяется внутри сервиса на валидность по схеме вида сведений. Схема расположена по пути /src/main/resources в папке с версией ВС
На текущий момент путь до XSD-схемы /src/main/resources/1_0_4/schema/schema.xsd
Если JSON некорректен, в логах сервиса будет ошибка
Добавить комментарий